/* p2
时间限制： 1000MS
内存限制： 65536KB
题目描述：
小美现在有一个序列，序列中仅包含1和 - 1两种数字。
小美现在想要知道，有多少个连续的子序列，序列中的数字乘积为正。
输入描述
第一行一个正整数n，表示小美手中的序列长度。
第二行n个空格隔开的数字，每个数字只能是1和 - 1中的一种。
对于80 % 的数据保证1 <= n <= 500
对于剩余20 % 的数据保证1 <= n <= 5000
输出描述
一行一个正整数表示有多少连续的子序列满足题目要求。
样例输入
4
1 1 - 1 - 1
样例输出
6
提示
共有6个连续子序列满足要求。
[1], [1], [1, 1], [-1, -1], [1, -1, -1], [1, 1, -1, -1]
*/


const arr = [1, 1, 1, -1, -1]

function two(arr) {
    let len = arr.length
    let pre = [0]
    for (let i = 0; i < len; i++) {
        if (arr[i] == -1) {
            arr[i] = 1
        } else {
            arr[i] = 0
        }
        pre[i + 1] = pre[i] + arr[i]
    }
    let res = 0
    for (let i = 1; i <= len; i++) {
        for (let j = 0; j < i; j++) {
            let tmp = pre[i] - pre[j];
            if (tmp % 2 == 0) res++;
        }
    }
    return res
}
console.log(two(arr));